/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/dingdan">dingdan</a> All rights reserved.
 */
package com.thinkgem.dingdan.modules.bu.entity;

import java.util.Date;
import java.util.List;

import org.hibernate.validator.constraints.Length;

import com.thinkgem.dingdan.common.persistence.DataEntity;
import com.thinkgem.dingdan.common.utils.excel.annotation.ExcelField;
import com.thinkgem.dingdan.modules.cms.entity.Site;
import com.thinkgem.dingdan.modules.sys.entity.Office;

/**
 * 单表生成Entity
 * @author ThinkGem
 * @version 2018-08-26
 */
public class BuOrderSupplier extends DataEntity<BuOrderSupplier> {
	
	private static final long serialVersionUID = 1L;

	private String orderNo;			// 订单编号(自动生成)
	private String productNo;		// 生成编号
	private String orderDate;		// 下单日期
	private Date shipDate;			// 出货日期
	private String productName;		// 产品名称
	
	private Site site;				// 归属站点
	private Office office;			// 归属部门
	private String crafts;			// 工艺
	private String electroplate;		// 电镀
	private String back;		// 背面
	
	private String packages;		// 包装
	private String fitting;		// 配件
	private String picUrl;		// 图片
	private String quantity;		// 数量
	private String produceFee;		// 生产单价
	
	private String produceModelFee;		// 生产模费
	private String produceTotalFee;		// 生产总价
	private String profit;				// 利润
	private String customerId;		// 客户ID
	private String supplierId;		// 供应商ID

	private int orderState;			// 订单状态(0:待审核;1:待生产;2:生产中;3:生产完成;4:待发货;5:待收货;6:待收款;7:已完成)
	
	private String refUserId;
	private String orderType;
	private String salesmanId;
	
	private List<Integer> orderStateList;
	private List<BuOrderCp> buOrderCpList;
	
	private String deliveryNumber;
	private String deliveryName;
	private String material;
	private String name;
	private String customerName;
	
	private String supplierName;
	private String salesman;
	private String productSize;
	private String thinkness;
	
	private List<String> idList;
	
	private String polishing;
	private String freight;
	private String createUser;
	private String salesManName;
	private String status;
	
	public List<Integer> getOrderStateList() {
		return orderStateList;
	}

	public void setOrderStateList(List<Integer> orderStateList) {
		this.orderStateList = orderStateList;
	}

	public Site getSite() {
		return site;
	}

	public void setSite(Site site) {
		this.site = site;
	}

	public Office getOffice() {
		return office;
	}

	public void setOffice(Office office) {
		this.office = office;
	}

	public String getRefUserId() {
		return refUserId;
	}

	public void setRefUserId(String refUserId) {
		this.refUserId = refUserId;
	}

	public List<BuOrderCp> getBuOrderCpList() {
		return buOrderCpList;
	}

	public void setBuOrderCpList(List<BuOrderCp> buOrderCpList) {
		this.buOrderCpList = buOrderCpList;
	}
	
	@ExcelField(title="订单状态", type=1, align=2, sort=1)
	public int getOrderState() {
		return orderState;
	}

	public void setOrderState(int orderState) {
		this.orderState = orderState;
	}

	public BuOrderSupplier() {
		super();
	}

	public BuOrderSupplier(String id){
		super(id);
	}

	@Length(min=0, max=64, message="订单编号(自动生成)长度必须介于 0 和 64 之间")
	public String getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}
	
	@Length(min=0, max=64, message="生成编号长度必须介于 0 和 64 之间")
	@ExcelField(title="生产编号", type=1, align=2, sort=1)
	public String getProductNo() {
		return productNo;
	}

	public void setProductNo(String productNo) {
		this.productNo = productNo;
	}
	
	public String getOrderDate() {
		return orderDate;
	}

	public void setOrderDate(String orderDate) {
		this.orderDate = orderDate;
	}
	
	public Date getShipDate() {
		return shipDate;
	}

	public void setShipDate(Date shipDate) {
		this.shipDate = shipDate;
	}
	
	@Length(min=0, max=64, message="产品名称长度必须介于 0 和 64 之间")
	public String getProductName() {
		return productName;
	}

	public void setProductName(String productName) {
		this.productName = productName;
	}
	
	@Length(min=0, max=64, message="工艺长度必须介于 0 和 64 之间")
	public String getCrafts() {
		return crafts;
	}

	public void setCrafts(String crafts) {
		this.crafts = crafts;
	}
	
	@Length(min=0, max=64, message="电镀长度必须介于 0 和 64 之间")
	public String getElectroplate() {
		return electroplate;
	}

	public void setElectroplate(String electroplate) {
		this.electroplate = electroplate;
	}
	
	@Length(min=0, max=64, message="背面长度必须介于 0 和 64 之间")
	public String getBack() {
		return back;
	}

	public void setBack(String back) {
		this.back = back;
	}
	
	@Length(min=0, max=64, message="包装长度必须介于 0 和 64 之间")
	public String getPackages() {
		return packages;
	}

	public void setPackages(String packages) {
		this.packages = packages;
	}
	
	@Length(min=0, max=64, message="配件长度必须介于 0 和 64 之间")
	public String getFitting() {
		return fitting;
	}

	public void setFitting(String fitting) {
		this.fitting = fitting;
	}
	
	@Length(min=0, max=255, message="图片长度必须介于 0 和 255 之间")
	@ExcelField(title="图片", type=1, align=2, sort=1)
	public String getPicUrl() {
		return picUrl;
	}

	public void setPicUrl(String picUrl) {
		this.picUrl = picUrl;
	}
	
	@Length(min=0, max=11, message="数量长度必须介于 0 和 11 之间")
	@ExcelField(title="数量", type=1, align=2, sort=1)
	public String getQuantity() {
		return quantity;
	}

	public void setQuantity(String quantity) {
		this.quantity = quantity;
	}
	
	@ExcelField(title="生产单价", type=1, align=2, sort=1)
	public String getProduceFee() {
		return produceFee;
	}

	public void setProduceFee(String produceFee) {
		this.produceFee = produceFee;
	}
	
	@ExcelField(title="生产模费", type=1, align=2, sort=1)
	public String getProduceModelFee() {
		return produceModelFee;
	}

	public void setProduceModelFee(String produceModelFee) {
		this.produceModelFee = produceModelFee;
	}
	
	@ExcelField(title="生产总价", type=1, align=2, sort=1)
	public String getProduceTotalFee() {
		return produceTotalFee;
	}

	public void setProduceTotalFee(String produceTotalFee) {
		this.produceTotalFee = produceTotalFee;
	}
	
	@Length(min=0, max=64, message="客户ID长度必须介于 0 和 64 之间")
	public String getCustomerId() {
		return customerId;
	}

	public void setCustomerId(String customerId) {
		this.customerId = customerId;
	}
	
	@Length(min=0, max=64, message="供应商ID长度必须介于 0 和 64 之间")
	public String getSupplierId() {
		return supplierId;
	}

	public void setSupplierId(String supplierId) {
		this.supplierId = supplierId;
	}

	public String getOrderType() {
		return orderType;
	}

	public void setOrderType(String orderType) {
		this.orderType = orderType;
	}

	public String getSalesmanId() {
		return salesmanId;
	}

	public void setSalesmanId(String salesmanId) {
		this.salesmanId = salesmanId;
	}

	@ExcelField(title="利润", type=1, align=2, sort=1)
	public String getProfit() {
		return profit;
	}

	public void setProfit(String profit) {
		this.profit = profit;
	}

	public String getDeliveryNumber() {
		return deliveryNumber;
	}

	public void setDeliveryNumber(String deliveryNumber) {
		this.deliveryNumber = deliveryNumber;
	}

	public String getDeliveryName() {
		return deliveryName;
	}

	public void setDeliveryName(String deliveryName) {
		this.deliveryName = deliveryName;
	}

	public String getMaterial() {
		return material;
	}

	public void setMaterial(String material) {
		this.material = material;
	}
	
	public String getProductSize() {
		return productSize;
	}

	public void setProductSize(String productSize) {
		this.productSize = productSize;
	}
	
	public String getThinkness() {
		return thinkness;
	}

	public void setThinkness(String thinkness) {
		this.thinkness = thinkness;
	}

	@ExcelField(title="跟单名称", align=2, sort=43)
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@ExcelField(title="业务员名称", align=2, sort=42)
	public String getCustomerName() {
		return customerName;
	}

	public void setCustomerName(String customerName) {
		this.customerName = customerName;
	}

	@ExcelField(title="厂商名称", align=2, sort=41)
	public String getSupplierName() {
		return supplierName;
	}

	public void setSupplierName(String supplierName) {
		this.supplierName = supplierName;
	}

	public String getSalesman() {
		return salesman;
	}

	public void setSalesman(String salesman) {
		this.salesman = salesman;
	}

	public List<String> getIdList() {
		return idList;
	}

	public void setIdList(List<String> idList) {
		this.idList = idList;
	}
	
	@ExcelField(title="运费",type=1, align=2, sort=40)
	public String getFreight() {
		return freight;
	}

	public void setFreight(String freight) {
		this.freight = freight;
	}

	public String getCreateUser() {
		return createUser;
	}

	public void setCreateUser(String createUser) {
		this.createUser = createUser;
	}

	public String getPolishing() {
		return polishing;
	}

	public void setPolishing(String polishing) {
		this.polishing = polishing;
	}

	public String getSalesManName() {
		return salesManName;
	}

	public void setSalesManName(String salesManName) {
		this.salesManName = salesManName;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
}